package com.wuyan.web.base.helper.auth;

import com.wuyan.web.base.entity.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LoginInfo {
    /**
     * 授权码
     */
    private String token;

    /**
     * token有效期单位秒
     */
    private long expiresIn;

    /**
     * 账户信息
     */
    private PubAccount account;

    /**
     * 所属部门
     */
    private PubDept dept;

    /**
     * 拥有的职位
     */
    private List<PubPost> posts;

    /**
     * 角色组
     */
    private List<PubRole> roles;

    /**
     * 角色所拥有的接口组
     */
    private List<PubApi> apis;

    /**
     * 角色所拥有的菜单组
     */
    private List<PubFunction> menus;

    /**
     * 用户信息
     */
    private PubUser user;

    /**
     * 登录时间
     */
    private LocalDateTime loginTime;

    /**
     * 刷新时间
     */
    private LocalDateTime refreshTime;

    /**
     * 下线时间
     */
    private LocalDateTime unLineTime;
}
